#ifndef STACK_H
#define STACK_H
#include "stdint.h"

typedef struct {
    uint32_t *ptrBuf;
    uint32_t size;
    int32_t depth;
    int32_t writepoint;
} ADPT_StackStru;

#define ADPT_STACK_SIZE 100U

int32_t ADPT_StackInit(ADPT_StackStru* ptrStack, uint32_t *ptrBuf, int32_t size);
int32_t ADPT_StackClear(ADPT_StackStru* ptrStack);
int32_t ADPT_StackPush(ADPT_StackStru* ptrStack, uint32_t data);
int32_t ADPT_StackPop(ADPT_StackStru* ptrStack, uint32_t *ptrData);
int32_t ADPT_StackTop(ADPT_StackStru* ptrStack, uint32_t *ptrData);

#endif
